<?php
namespace app\admin\controller;
use think\exception\ValidateException;
use think\facade\Filesystem;
use think\facade\Request;

class Upload{
    public static function upload($field = 'img',$path_dir='',$rule='md5'){
        $dir="";
        try{
            //接所有的上传文件
            $file=Request::file();
            //上传验证 对象=>   文件的尺寸      文件的格式              验证的文件
            validate([$field=>"fileSize:91024000000000000000000000|fileExt:jpg,png"])->check(['img'=>$file]);
            //判断是不是数组
            if(is_array($file[$field])){
                //如果是数组的话循环数组取出每个添加的文件
                foreach ($file[$field] as $v){
                    //给每个文件放到对应的位置，MD5加密
                    $path = Filesystem::disk('admin')->putFile($path_dir,$v,$rule);
                    //文件地址名 的'\' 换成 '/'
                    $paths[] = str_replace('\\','/',$path);
                    //数组转字符串
                    $dir = implode(',',$paths);
                }
            }else{//如果不是数组的话，就直接上传文件
                //同上
                $path = Filesystem::disk('admin')->putFile($path_dir,$file[$field],$rule);
                //文件地址名 的'\' 换成 '/'
                $dir = str_replace('\\','/',$path);
            }
        }catch(ValidateException $validateException){
            //抛异常的码
            echo $validateException->getMessage();
        }catch (\ Exception $exception){

            $dir= '' ;
        }
        return $dir;
    }
}

